Systems and methods of auto-launching computer applications from portable devices, such as universal serial bus (USB) flash memory devices that follow the U3 platform, have allowed for increased portability of personal computer software applications. Representative systems typically install computer executable content and configuration data onto the USB flash memory device or other type of removable storage device. However, application installers on a host computer typically are not aware of removable storage devices and may attempt to install applications by default to a fixed memory location, such as to a program file directory on a computer system fixed disk drive. The application installation process at the host computer complicates portable application installations to the removable storage device.
One previous approach to address this issue is to redirect a local environment such that variables that indicate the location of the program files directory instead point to a corresponding location on a removable storage device. This approach has limits since the approach only works if the install application is aware of the variables and uses the redirection method. Another approach is to virtualize the entire computer operating environment, but this approach can be expensive and may consume significant memory and CPU overhead. A further approach is to pre-package applications in a portable form, but such pre-packaging is not likely to be adopted by a majority of end users.